Conventions
r? @alexcrichton
I'd love to refactor our handing of inferring targets by convention, because it is super difficult to understand, and quite probably contains a couple of unintended/undocumented conventions (like `src/foo.rs` being a binary `foo` if there's no library in the package).
As a first step, I've just moved all the logic (600 loc) to a separate file from the `toml.rs` file, which used to be just **huge** (we even use in in IntelliJ Rust for performance testing :) ), and now it is "only" just above 1kloc :)